Fix command line parameter parsing to support values containing commas#5335
Open
nikitanagar08 wants to merge 1 commit intospring-projects:mainfrom
Open
Fix command line parameter parsing to support values containing commas#5335nikitanagar08 wants to merge 1 commit intospring-projects:mainfrom
nikitanagar08 wants to merge 1 commit intospring-projects:mainfrom
Conversation
The parameter format is: key=value,type,identifying Previously, the parser split on ALL commas, which broke when values contained commas. For example, "items=apple,banana,orange" would be incorrectly parsed, treating "banana" as a type name. This commit adds intelligent parsing that: 1. Checks if the second-to-last token looks like a class name 2. If yes, treats everything before it as the value (which may contain commas) 3. If no, treats the entire string as the value with commas included The heuristic "looks like a class name" checks for: - Fully qualified class names (contain dots like java.lang.String) - Primitive types (int, long, double, etc.) This allows values containing commas to work correctly while maintaining backward compatibility with existing parameter formats. Fixes spring-projects#5329 Signed-off-by: Nikita Nagar <permanayan84@gmail.com>
04dd7ad to
2ca86ae
Compare
Author
|
This PR fixes #5329 - Command line parameter values containing commas are now supported. The fix adds intelligent parsing that distinguishes between commas that are separators vs commas that are part of the value. All 797 core tests pass with backward compatibility maintained. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5329
Problem:
The parser split on ALL commas, breaking when values contained commas (e.g., "items=apple,banana,orange" would parse "banana" as a type name).
Solution:
Added intelligent parsing that checks if a token looks like a class name before treating it as type. If not, all commas are treated as part of the value.
Tests: